1. Field of the Invention
This invention relates generally to a bandwidth allocation scheme for Time Division Multiple Access (TDMA) systems, and specifically to efficient bandwidth allocation for Transmission Control Protocol/Internet Protocol (TCP/IP) systems over a TDMA-based satellite network.
2. Description of the Related Art
Using satellites for Internet and Intranet traffic, in particular multicasting of digital video through use of Digital Video Broadcast (DVB) and two-way broadband communication has recently received a great deal of attention. Satellites can help relieve Internet congestion and bring the Internet and interactive applications to countries that do not have an existing network structure, as well as provide broadband interactive application support.
As one means of using satellite technology in this growing field, very small aperture terminals (VSATs) provide rapid and reliable satellite-based telecommunications between an essentially unlimited number of geographically dispersed sites. VSAT technology has established effective tools for LAN internetworking, multimedia image transfer, batch and interactive data transmission, interactive voice, broadcast data, multicast data, and video communications.
The Internet Protocol (IP) is the most commonly used mechanism for carrying multicast data. Examples of satellite networks capable of carrying IP Multicast data include Hughes Network System""s Personal Earth Station (PES) VSAT system and Hughes Network System""s DirecPC(copyright) system. Combining VSAT delivery with standards-based IP multicast ensures users a less expensive and more flexible approach to achieving high-quality, real-time broadcasting. Satellite Digital Video Broadcast (DVB) technology and the Internet Protocol (IP) have converged (xe2x80x9cIP/DVBxe2x80x9d) to allow users transparent access to a variety of broadband content, including live video, large software applications, and media-rich web sites.
In support of these developments, VSAT systems, such as the Personal Earth Station mentioned above, allow commercial users to access one of a generally limited number of satellite return channels to support two-way communication. The choice of return or inbound channel is usually restricted to only a group of only a few of the possible channels preconfigured by a combination of hardware and/or software limitations. Some commercial systems may use a VSAT system terminal for Internet access to receive HTTP responses via the outbound satellite broadcast channel, and may send HTTP requests to the Internet through a VSAT inbound channel. Unfortunately, as these systems are mass-marketed to consumers and the number of users increases, the generally limited number of inbound channels can experience congestion and reduced user throughput as a result of an increasing number of users competing for a finite number of inbound satellite channels. The potential benefits that VSAT technology bring to consumers in the area of broadband delivery are necessarily diminished by the limited bandwidth, available on the inbound channels.
Slotted-time approaches for the uplink channels are commonly used and may be based on Time-Division Multiple Access (TDMA). TDMA is a technique for allocating multiple channels on the same frequency in a wireless transmission system, such as a satellite communication system. TDMA allows a number of users to access a single radio frequency (RF) channel without interference by allocating unique time slots to each user within each channel. Access is controlled using a frame-based approach, and precise system timing is necessary to allow multiple users access to the bandwidth (i.e. time slot access) necessary to transmit information in a multiplexed fashion on the return channel.
Transmissions are grouped into frames, with a frame synchronization (xe2x80x9csyncxe2x80x9d) signal usually being provided at the beginning of each frame. Following the frame sync, there are a number of time xe2x80x9cslicesxe2x80x9d within the frame for burst transmissions. In the simplest case, one time slice representing a fixed amount of bandwidth is allocated to each of the users having the need to transmit information. Each TDMA user gets a specific time slot (or slots) in the channel, and that time slot is fixed for the user during the transmission. In more complicated systems, multiple time slices are made available to users based on transmission need or a prioritization scheme. After all time slices have elapsed, another frame synchronization signal is transmitted to restart the cycle. However, even if the user has nothing to transmit, the time slot is still reserved, resulting in inefficient utilization of the available bandwidth.
TDMA requires a method for timing of the epochs of burst transmission to reduce burst overlap and consequent xe2x80x9ccollisionsxe2x80x9d of different users"" transmissions. In addition, providing each remote user access to needed uplink bandwidth (essentially equivalent to slot access) becomes more difficult when sharing a larger number of different inroute or uplink channels among a large number of users. With TDMA, each VSAT accesses a control node via the satellite by the bursting of digital information onto its assigned radio frequency carrier. Each VSAT bursts at its assigned time relative to the other VSATs on the network. Dividing access in this wayxe2x80x94by time slotsxe2x80x94allows VSATs to make the most efficient use of the available satellite bandwidth. Like most TDM-based protocols, bandwidth is available to the VSAT in fixed increments whether or not it is needed, as discussed above. Establishing an equitable allocation of uplink bandwidth for each of the uplink or inroute users is difficult due to uneven (i.e. fluctuating heavy or light) loading within a group of uplink channels, and due to relatively uneven loading between groups of uplink channels.
FIG. 1 provides an exemplary conventional satellite communication system 100 which limits each of xe2x80x9ckxe2x80x9d possible remote users 140 to one return channel group 160 out of xe2x80x9cnxe2x80x9d available groups. Each of the n return channel groups 160 could, for example, have xe2x80x9cmxe2x80x9d return channel frequencies available, thereby allowing each remote user to uplink on one of the m frequencies, as access is granted. Uplink timing information may be derived from transceiver 150 using the received outroute broadcast 120 transmitted by earth station 110 through satellite 130. Outroute broadcast 120 may include several information streams each received by a portion of remote users 140. Timing signals for each remote user may be derived from its associated information stream, and independent from the uplink timing information, and further may be applicable only for the return channel group 160 assigned to the particular remote user 140. In addition, internet/intranet access may be provided to remote users 140 through earth station 110 and gateway 170.
As the use of two-way satellite networks has expanded into the consumer market, industry has further pursued internetworking of multiple satellite-broadcast networks and their associated independent inroute (xe2x80x9cinboundxe2x80x9d) or uplink channels. As the market expands, the number of possible uplink users further increases, and the previous approaches to allocation of return channel bandwidth to users in fixed, predetermined uplink channel groups necessarily requires additional hardware and system complexity in order to accommodate the increased uplink demand. If return channel groups base their frame timing on a particular satellite broadcast which is not common to all remote users across return channel groups, then users are necessarily limited to their pre-assigned return channel group, thus limiting flexibility.
Further, this approach becomes increasingly inefficient both in terms of hardware allocation, cost, and uplink channel bandwidth utilization, since many of the available groups of uplink channels may be either heavily or lightly loaded or subject to load imbalance relative to other inroute groups. This could be the result of each user being hard-configured for access to a specific inroute channel, or to only a limited number of channels, whether due to hardware or software limitations, or the frame timing considerations discussed above. This problem is exacerbated by the bursty and somewhat unpredictable nature of such transmissions, which also may result in inefficient use of the available bandwidth.
Several solutions for bandwidth allocation are available for xe2x80x9ccasual usexe2x80x9d, or non-critical uplink systems, and may be used in conventional satellite communication 100 shown in FIG. 1. For example, well-known ALOHA techniques are employed in order to minimize overhead associated with allocation of bandwidth to users when there is no data to transmit. ALOHA was developed to coordinate and arbitrate access to a shared communication channel. Although originally applied in terrestrial radio broadcasting, the system has successfully been implemented in satellite communication systems. A medium access method, such as ALOHA, is intended to prevent two or more systems from transmitting at the same time on a shared medium. There must be some method for handling so-called xe2x80x9ccollisionsxe2x80x9d. In the ALOHA system, a system transmits whenever data is available to send. If another system transmits at the same time, a collision occurs, and the frames that were transmitted are lost. However, a system can listen to broadcasts on the medium, even its own, or await an acknowledgement from the destination station to determine if the frames were actually transmitted.
However, so-called pure ALOHA has about seven percent bandwidth efficiency, meaning that approximately 14 times the required bandwidth must be allocated. Further, the delays to users actually having traffic to transmit may not be acceptable in time-sensitive applications, particularly because the ALOHA technique xe2x80x9cwastesxe2x80x9d bandwidth, and hence time slots, on users having no or low traffic load to transmit.
The pure ALOHA technique is simple and elegant, but another method called slotted ALOHA, or random access mode, was devised to double the traffic capacity. In the slotted ALOHA scheme, distinct time slots are created in which users can transmit a single frame in a packet, but only at the beginning of a slot. Thus, the transmitter will have to buffer data until the beginning of the next slot period. For example, a control node can emit a signal at the start of each slot to let all other users know when the slot is available. By aligning frames on slots, overlaps in transmissions are reduced. However, users must wait a fraction of a second for the beginning of a time slot before they can transmit. Also, data may be lost if users contend for the same slot, but not as much data as would be lost in pure ALOHA. However, tests have shown that slotted ALOHA has a performance advantage, and is best suited for short, xe2x80x9cburstyxe2x80x9d messages in applications that require fast response times, such as point of sale credit card verification and ATM transaction processing. This contention technique allows VSATs to transmit at any time, and to continue transmitting if they receive acknowledgement that no other station is sending. However, this method requires that channel utilization be held to around 18 to 36 percent.
Other systems use a slot reservation access mode, wherein the host reserves slots for each user to transmit an assigned number of packets. In assigning bandwidth to match an assigned message duration, more efficient use of bandwidth is made than with the random access method, thus improving throughput. A drawback to this method is that more time is required for channel setup, adding further delay, and there may be too few or too many packets assigned for message transmission for each user, leading to at least some inefficiency in bandwidth utilization. Further, dynamic reallocation of bandwidth is not efficiently accomplished using this approach.
Even if an ALOHA-type of channel access scheme is successfully used to gain access to bandwidth for uplink, there is still the problem of either over or under-loading the return channels, and also of having an imbalance between groups of return channels.
What is needed, therefore, is an apparatus and method for dynamically assigning uplink bandwidth depending on the users"" demands for return channel access. What is further needed is an apparatus and method for balancing the uplink loads between return channels sharing a common uplink channel grouping, and which also balances the system load between groups of uplink channels which share common frame timing.
The present invention solves the aforementioned problems of providing a system, apparatus, and method for assigning uplink bandwidth depending on the user""s demand for return channel access, and to ensure that a load-balanced condition between and among return channel groups is maintained.
In one aspect of the invention, a control station for two-way satellite communication includes an RF section for transmitting a broadcast signal and receiving a return channel from a remoter user. A return channel subsystem includes a return channel controller to process return channel information and set a user bandwidth in the return channel. The return channel controller sets the transmit frequency and bandwidth of the return channel by evaluating either or both of a user backlog indicator and a bandwidth allocation request provided by the remote user in one or more return channel messages. The return channel controller also changes the return channel frequency within a return channel group based on traffic loading within the return channel group.
In a second aspect of the invention, a transceiver is used to transmit a frame synchronized message to a control node, and includes a receiver which detects a control node timing message in a received broadcast signal. A timing recovery section uses the control node timing message to determine a system-wide transmit frame start time, and a message buffer temporarily stores an outgoing user message until it is transmitted. A transmitter uplinks the outgoing user message during an assigned period after the transmit frame start time using an assigned transmit frequency determined by a group status message received in the broadcast signal. If necessary to achieve load balance, the transmit frequency can be changed to a different transmit frequency within a current channel group, or changed to a frequency within a different channel group, depending on the relative loading of the two return channel groups, and the remote user""s bandwidth requirement, as reported in the group status message received from the broadcast signal. The ability to assign transmission to another frequency in a different return channel group results, at least in part, by sharing a common system frame timing among all return channel groups.
In a third aspect of the invention, a method for controlling a return channel from a control station includes transmitting a broadcast signal, receiving a return channel uplink from a remote user, and setting a return channel bandwidth and frequency with a return channel controller which provides an allocation message in the broadcast signal for receipt by the remote users. The return channel bandwidth and frequency are set by evaluating a backlog indicator provided by the remote user, and by evaluating the relative loads of all the return channel groups and individual transmit frequencies within the return channel groups.
In a fourth aspect of the invention, a method for transmitting a frame synchronized message from a remote user includes receiving a control node timing message in a broadcast signal, determining a return channel frame start time using the control node timing message, temporarily storing an outgoing user message, and transmitting the outgoing user message on a transmit frequency during an assigned period after the return channel frame start time. The transmit frequency and assigned bandwidth may be determined by an inroute assignment message received in the broadcast signal. The remote user may initially transmit on a return channel configured to support an ALOHA-burst signal. This burst signal includes an indication of the remote user""s message traffic backlog to the control node. The remote user may then be moved to a return channel which either shares access with another remote user, or which provides dedicated uplink access, depending on available system resources and the remote user""s bandwidth requirement. The initial ALOHA-burst uplink is sent on a transmit frequency selected locally by the remote user using a randomly weighted frequency selection process based on the system or group load reported over the broadcast signal.
In a fifth aspect of the invention, a communication system for balancing traffic on a plurality of return channels includes a control station to transmit a broadcast signal to a remote user. The broadcast signal includes a non real-time frame marker, a timing message, and a return channel control message. A receiver at the remote user receives the broadcast signal and determines a return channel frame start time using the non real-time frame marker and the timing message. A transmitter at the remote user uplinks a user message on one of the return channels during a predetermined period after the return channel frame start time. An uplink frequency and bandwidth of the return channel is determined by the return channel control message so as to account for system and return channel group loading, and to account for user message backlogs. An initial transmission from the remote user may be made using an ALOHA-type burst signal that provides a message backlog indication. This initial transmission may be made on a frequency determined from a randomly weighted, load-based frequency selection process in order to ensure dynamic balance between return channel groups.
In a sixth aspect of the invention, a method for balancing loads among and between groups of return channels in a communication system includes requesting return channel bandwidth in an uplink message from a remote user to a control station. The uplink message may include a backlog indicator and a bandwidth allocation request. A return channel bandwidth for the remote user may be allocated by processing the backlog indicator and a channel allocation message provided from the control station to the remote user in the broadcast signal. The channel allocation message may also allocate the return channel bandwidth. A user message is transmitted on a return channel in accordance with the channel allocation message.
The present invention in all its embodiments, collectively and individually, has a number of features that distinguish it over conventional bandwidth allocation schemes. For instance, the present invention dynamically assigns bandwidth based on how much the users actually need, and directs uplink frequency changes to balance traffic load. The approach of the apparatus, system and method of the present invention not only balances the load between return channel groups, but within each return channel group as well, ensuring an optimized bandwidth allocation scheme. The system is set up to automatically load balance every time a remote user starts a new uplink session, and accomplishes the goal of having roughly the same number of uplink users sharing each inroute channel, even with a large and increasing number of system users. This approach is particularly well-suited and optimized for TCP/IP satellite traffic, and is a highly desirable component to operating an efficient TCP/IP system over a TDMA-based satellite system, including multiple satellites networked with the required supporting ground infrastructure.
Finally, the method and system of the present invention allow expansion to an essentially unlimited number of users on the same return channels without extensive hardware and software modifications, and allows these users to all have approximately equal access to the return channel capacity, or bandwidth. This capability is brought about, at least in part, by sharing system frame timing among all return channel groups, regardless of the broadcast source of the return channel control information sent from the control station, possibly including multi-satellite links. The system preferably shares a common non-real time reference provided to all remote users, regardless of the particular broadcast being received, or its source.
These and other features and advantages of the present application will become more readily apparent from the detailed description given hereinafter. However, it should be understood that the detailed description and specific examples, while indicating a preferred embodiment of the invention, are given by way of illustration only, since various changes and modifications within the spirit and scope of the invention provided by this detailed description will become apparent to those skilled in the art.